<!-- 运送详情 》 工单记录 -->

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import RepairRecord from '@admin/components/detail/DetailRepair/RepairRecord'

// ============================== 导出组件 ============================== //

export default CORE.extend(RepairRecord, {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'DeliverRecord',

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    ...RepairRecord.computed,

    /**
     * 记录列表
     */
    recordList() {
      return this.one.woDeliverEventDto || []
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    ...RepairRecord.methods,

    /**
     * 获取文本
     */
    getText(item) {
      const {
        handleUserName = '',
        handleUserPhone = '',
        assignUserName = '',
        assignUserPhone = '',
        eventCode,
        opinion,
        handleDurationDesc,
      } = item

      const user = `${handleUserName}${handleUserPhone ? ` (${handleUserPhone})` : ''}`
      const worker = `${assignUserName}${assignUserPhone ? ` (${assignUserPhone})` : ''}`

      switch (eventCode) {
        case 'draft_task': // 工单创建
          return [['创建人', user]]

        case 'assign_task': // 工单指派
          return [
            ['操作人', user],
            ['派单人', worker],
          ]

        case 'receive_task': // 工单接收
          return [
            ['接单人', user],
            ['接单意见', opinion],
          ]

        case 'start_task': // 开始运送
          return [
            ['运送人', user],
            ['运送意见', opinion],
          ]

        case 'end_task': // 运送结束
          return [
            ['运送人', user],
            ['运送意见', opinion],
            ['运送用时', handleDurationDesc],
          ]

        case 'back_task': // 工单回退
          return [
            ['回退人', user],
            ['回退意见', opinion],
          ]

        case 'confirm_task': // 签字确认
          return [
            ['操作人', user],
            ['确认意见', opinion],
          ]

        case 'cancel_task': // 工单撤销
          return [
            ['操作人', user],
            ['撤销意见', opinion],
          ]

        case 'hasten_task': // 工单加急
          return [
            ['操作人', user],
            ['加急描述', opinion],
          ]

        case 'add_note_task': // 工单追记
          return [
            ['操作人', user],
            ['追记描述', opinion],
          ]

        default:
          return []
      }
    },
  },
})
</script>
